﻿// Copyright (c) 2022-2024 0x5BFA
// Licensed under the MIT License. See the LICENSE.

using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

namespace FluentHub.Core.Extensions.Emoji
{
	/// <summary>
	/// See https://github.com/xoofx/markdig/blob/master/src/Markdig/Extensions/Emoji/EmojiMapping.cs
	/// </summary>
	public static class EmojiMapping
	{
		public static Dictionary<string, string> DefaultShortCodeToUnicode = new(2000)
			{
				{":100:", "💯"},
				{":1234:", "🔢"},
				{":smile:", "😄"},
				{":smiley:", "😃"},
				{":grinning:", "😀"},
				{":blush:", "😊"},
				{":relaxed:", "☺️"},
				{":wink:", "😉"},
				{":heart_eyes:", "😍"},
				{":kissing_heart:", "😘"},
				{":kissing_closed_eyes:", "😚"},
				{":kissing:", "😗"},
				{":kissing_smiling_eyes:", "😙"},
				{":stuck_out_tongue_winking_eye:", "😜"},
				{":stuck_out_tongue_closed_eyes:", "😝"},
				{":stuck_out_tongue:", "😛"},
				{":flushed:", "😳"},
				{":grin:", "😁"},
				{":pensive:", "😔"},
				{":relieved:", "😌"},
				{":unamused:", "😒"},
				{":disappointed:", "😞"},
				{":persevere:", "😣"},
				{":cry:", "😢"},
				{":joy:", "😂"},
				{":sob:", "😭"},
				{":sleepy:", "😪"},
				{":disappointed_relieved:", "😥"},
				{":cold_sweat:", "😰"},
				{":sweat_smile:", "😅"},
				{":sweat:", "😓"},
				{":weary:", "😩"},
				{":tired_face:", "😫"},
				{":fearful:", "😨"},
				{":scream:", "😱"},
				{":angry:", "😠"},
				{":rage:", "😡"},
				{":triumph:", "😤"},
				{":confounded:", "😖"},
				{":laughing:", "😆"},
				{":satisfied:", "😆"},
				{":yum:", "😋"},
				{":mask:", "😷"},
				{":sunglasses:", "😎"},
				{":sleeping:", "😴"},
				{":dizzy_face:", "😵"},
				{":astonished:", "😲"},
				{":worried:", "😟"},
				{":frowning:", "😦"},
				{":anguished:", "😧"},
				{":smiling_imp:", "😈"},
				{":imp:", "👿"},
				{":open_mouth:", "😮"},
				{":grimacing:", "😬"},
				{":neutral_face:", "😐"},
				{":confused:", "😕"},
				{":hushed:", "😯"},
				{":no_mouth:", "😶"},
				{":innocent:", "😇"},
				{":smirk:", "😏"},
				{":expressionless:", "😑"},
				{":man_with_gua_pi_mao:", "👲"},
				{":man_with_turban:", "👳"},
				{":cop:", "👮"},
				{":construction_worker:", "👷"},
				{":guardsman:", "💂"},
				{":baby:", "👶"},
				{":boy:", "👦"},
				{":girl:", "👧"},
				{":man:", "👨"},
				{":woman:", "👩"},
				{":older_man:", "👴"},
				{":older_woman:", "👵"},
				{":person_with_blond_hair:", "👱"},
				{":angel:", "👼"},
				{":princess:", "👸"},
				{":smiley_cat:", "😺"},
				{":smile_cat:", "😸"},
				{":heart_eyes_cat:", "😻"},
				{":kissing_cat:", "😽"},
				{":smirk_cat:", "😼"},
				{":scream_cat:", "🙀"},
				{":crying_cat_face:", "😿"},
				{":joy_cat:", "😹"},
				{":pouting_cat:", "😾"},
				{":japanese_ogre:", "👹"},
				{":japanese_goblin:", "👺"},
				{":see_no_evil:", "🙈"},
				{":hear_no_evil:", "🙉"},
				{":speak_no_evil:", "🙊"},
				{":skull:", "💀"},
				{":alien:", "👽"},
				{":hankey:", "💩"},
				{":poop:", "💩"},
				{":shit:", "💩"},
				{":fire:", "🔥"},
				{":sparkles:", "✨"},
				{":star2:", "🌟"},
				{":dizzy:", "💫"},
				{":boom:", "💥"},
				{":collision:", "💥"},
				{":anger:", "💢"},
				{":sweat_drops:", "💦"},
				{":droplet:", "💧"},
				{":zzz:", "💤"},
				{":dash:", "💨"},
				{":ear:", "👂"},
				{":eyes:", "👀"},
				{":nose:", "👃"},
				{":tongue:", "👅"},
				{":lips:", "👄"},
				{":+1:", "👍"},
				{":thumbsup:", "👍"},
				{":-1:", "👎"},
				{":thumbsdown:", "👎"},
				{":ok_hand:", "👌"},
				{":facepunch:", "👊"},
				{":punch:", "👊"},
				{":fist:", "✊"},
				{":v:", "✌️"},
				{":wave:", "👋"},
				{":hand:", "✋"},
				{":raised_hand:", "✋"},
				{":open_hands:", "👐"},
				{":point_up_2:", "👆"},
				{":point_down:", "👇"},
				{":point_right:", "👉"},
				{":point_left:", "👈"},
				{":raised_hands:", "🙌"},
				{":pray:", "🙏"},
				{":point_up:", "☝️"},
				{":clap:", "👏"},
				{":muscle:", "💪"},
				{":walking:", "🚶"},
				{":runner:", "🏃"},
				{":running:", "🏃"},
				{":dancer:", "💃"},
				{":couple:", "👫"},
				{":family:", "👪"},
				{":two_men_holding_hands:", "👬"},
				{":two_women_holding_hands:", "👭"},
				{":couplekiss:", "💏"},
				{":couple_with_heart:", "💑"},
				{":dancers:", "👯"},
				{":ok_woman:", "🙆"},
				{":no_good:", "🙅"},
				{":information_desk_person:", "💁"},
				{":raising_hand:", "🙋"},
				{":massage:", "💆"},
				{":haircut:", "💇"},
				{":nail_care:", "💅"},
				{":bride_with_veil:", "👰"},
				{":person_with_pouting_face:", "🙎"},
				{":person_frowning:", "🙍"},
				{":bow:", "🙇"},
				{":tophat:", "🎩"},
				{":crown:", "👑"},
				{":womans_hat:", "👒"},
				{":athletic_shoe:", "👟"},
				{":mans_shoe:", "👞"},
				{":shoe:", "👞"},
				{":sandal:", "👡"},
				{":high_heel:", "👠"},
				{":boot:", "👢"},
				{":shirt:", "👕"},
				{":tshirt:", "👕"},
				{":necktie:", "👔"},
				{":womans_clothes:", "👚"},
				{":dress:", "👗"},
				{":running_shirt_with_sash:", "🎽"},
				{":jeans:", "👖"},
				{":kimono:", "👘"},
				{":bikini:", "👙"},
				{":briefcase:", "💼"},
				{":handbag:", "👜"},
				{":pouch:", "👝"},
				{":purse:", "👛"},
				{":eyeglasses:", "👓"},
				{":ribbon:", "🎀"},
				{":closed_umbrella:", "🌂"},
				{":lipstick:", "💄"},
				{":yellow_heart:", "💛"},
				{":blue_heart:", "💙"},
				{":purple_heart:", "💜"},
				{":green_heart:", "💚"},
				{":heart:", "❤️"},
				{":broken_heart:", "💔"},
				{":heartpulse:", "💗"},
				{":heartbeat:", "💓"},
				{":two_hearts:", "💕"},
				{":sparkling_heart:", "💖"},
				{":revolving_hearts:", "💞"},
				{":cupid:", "💘"},
				{":love_letter:", "💌"},
				{":kiss:", "💋"},
				{":ring:", "💍"},
				{":gem:", "💎"},
				{":bust_in_silhouette:", "👤"},
				{":busts_in_silhouette:", "👥"},
				{":speech_balloon:", "💬"},
				{":footprints:", "👣"},
				{":thought_balloon:", "💭"},
				{":dog:", "🐶"},
				{":wolf:", "🐺"},
				{":cat:", "🐱"},
				{":mouse:", "🐭"},
				{":hamster:", "🐹"},
				{":rabbit:", "🐰"},
				{":frog:", "🐸"},
				{":tiger:", "🐯"},
				{":koala:", "🐨"},
				{":bear:", "🐻"},
				{":pig:", "🐷"},
				{":pig_nose:", "🐽"},
				{":cow:", "🐮"},
				{":boar:", "🐗"},
				{":monkey_face:", "🐵"},
				{":monkey:", "🐒"},
				{":horse:", "🐴"},
				{":sheep:", "🐑"},
				{":elephant:", "🐘"},
				{":panda_face:", "🐼"},
				{":penguin:", "🐧"},
				{":bird:", "🐦"},
				{":baby_chick:", "🐤"},
				{":hatched_chick:", "🐥"},
				{":hatching_chick:", "🐣"},
				{":chicken:", "🐔"},
				{":snake:", "🐍"},
				{":turtle:", "🐢"},
				{":bug:", "🐛"},
				{":bee:", "🐝"},
				{":honeybee:", "🐝"},
				{":ant:", "🐜"},
				{":beetle:", "🐞"},
				{":snail:", "🐌"},
				{":octopus:", "🐙"},
				{":shell:", "🐚"},
				{":tropical_fish:", "🐠"},
				{":fish:", "🐟"},
				{":dolphin:", "🐬"},
				{":flipper:", "🐬"},
				{":whale:", "🐳"},
				{":whale2:", "🐋"},
				{":cow2:", "🐄"},
				{":ram:", "🐏"},
				{":rat:", "🐀"},
				{":water_buffalo:", "🐃"},
				{":tiger2:", "🐅"},
				{":rabbit2:", "🐇"},
				{":dragon:", "🐉"},
				{":racehorse:", "🐎"},
				{":goat:", "🐐"},
				{":rooster:", "🐓"},
				{":dog2:", "🐕"},
				{":pig2:", "🐖"},
				{":mouse2:", "🐁"},
				{":ox:", "🐂"},
				{":dragon_face:", "🐲"},
				{":blowfish:", "🐡"},
				{":crocodile:", "🐊"},
				{":camel:", "🐫"},
				{":dromedary_camel:", "🐪"},
				{":leopard:", "🐆"},
				{":cat2:", "🐈"},
				{":poodle:", "🐩"},
				{":feet:", "🐾"},
				{":paw_prints:", "🐾"},
				{":bouquet:", "💐"},
				{":cherry_blossom:", "🌸"},
				{":tulip:", "🌷"},
				{":four_leaf_clover:", "🍀"},
				{":rose:", "🌹"},
				{":sunflower:", "🌻"},
				{":hibiscus:", "🌺"},
				{":maple_leaf:", "🍁"},
				{":leaves:", "🍃"},
				{":fallen_leaf:", "🍂"},
				{":herb:", "🌿"},
				{":ear_of_rice:", "🌾"},
				{":mushroom:", "🍄"},
				{":cactus:", "🌵"},
				{":palm_tree:", "🌴"},
				{":evergreen_tree:", "🌲"},
				{":deciduous_tree:", "🌳"},
				{":chestnut:", "🌰"},
				{":seedling:", "🌱"},
				{":blossom:", "🌼"},
				{":globe_with_meridians:", "🌐"},
				{":sun_with_face:", "🌞"},
				{":full_moon_with_face:", "🌝"},
				{":new_moon_with_face:", "🌚"},
				{":new_moon:", "🌑"},
				{":waxing_crescent_moon:", "🌒"},
				{":first_quarter_moon:", "🌓"},
				{":moon:", "🌔"},
				{":waxing_gibbous_moon:", "🌔"},
				{":full_moon:", "🌕"},
				{":waning_gibbous_moon:", "🌖"},
				{":last_quarter_moon:", "🌗"},
				{":waning_crescent_moon:", "🌘"},
				{":last_quarter_moon_with_face:", "🌜"},
				{":first_quarter_moon_with_face:", "🌛"},
				{":crescent_moon:", "🌙"},
				{":earth_africa:", "🌍"},
				{":earth_americas:", "🌎"},
				{":earth_asia:", "🌏"},
				{":volcano:", "🌋"},
				{":milky_way:", "🌌"},
				{":stars:", "🌠"},
				{":star:", "⭐"},
				{":sunny:", "☀️"},
				{":partly_sunny:", "⛅"},
				{":cloud:", "☁️"},
				{":zap:", "⚡"},
				{":umbrella:", "☔"},
				{":snowflake:", "❄️"},
				{":snowman:", "⛄"},
				{":cyclone:", "🌀"},
				{":foggy:", "🌁"},
				{":rainbow:", "🌈"},
				{":ocean:", "🌊"},
				{":bamboo:", "🎍"},
				{":gift_heart:", "💝"},
				{":dolls:", "🎎"},
				{":school_satchel:", "🎒"},
				{":mortar_board:", "🎓"},
				{":flags:", "🎏"},
				{":fireworks:", "🎆"},
				{":sparkler:", "🎇"},
				{":wind_chime:", "🎐"},
				{":rice_scene:", "🎑"},
				{":jack_o_lantern:", "🎃"},
				{":ghost:", "👻"},
				{":santa:", "🎅"},
				{":christmas_tree:", "🎄"},
				{":gift:", "🎁"},
				{":tanabata_tree:", "🎋"},
				{":tada:", "🎉"},
				{":confetti_ball:", "🎊"},
				{":balloon:", "🎈"},
				{":crossed_flags:", "🎌"},
				{":crystal_ball:", "🔮"},
				{":movie_camera:", "🎥"},
				{":camera:", "📷"},
				{":video_camera:", "📹"},
				{":vhs:", "📼"},
				{":cd:", "💿"},
				{":dvd:", "📀"},
				{":minidisc:", "💽"},
				{":floppy_disk:", "💾"},
				{":computer:", "💻"},
				{":iphone:", "📱"},
				{":phone:", "☎️"},
				{":telephone:", "☎️"},
				{":telephone_receiver:", "📞"},
				{":pager:", "📟"},
				{":fax:", "📠"},
				{":satellite:", "📡"},
				{":tv:", "📺"},
				{":radio:", "📻"},
				{":loud_sound:", "🔊"},
				{":sound:", "🔉"},
				{":speaker:", "🔈"},
				{":mute:", "🔇"},
				{":bell:", "🔔"},
				{":no_bell:", "🔕"},
				{":loudspeaker:", "📢"},
				{":mega:", "📣"},
				{":hourglass_flowing_sand:", "⏳"},
				{":hourglass:", "⌛"},
				{":alarm_clock:", "⏰"},
				{":watch:", "⌚"},
				{":unlock:", "🔓"},
				{":lock:", "🔒"},
				{":lock_with_ink_pen:", "🔏"},
				{":closed_lock_with_key:", "🔐"},
				{":key:", "🔑"},
				{":mag_right:", "🔎"},
				{":bulb:", "💡"},
				{":flashlight:", "🔦"},
				{":high_brightness:", "🔆"},
				{":low_brightness:", "🔅"},
				{":electric_plug:", "🔌"},
				{":battery:", "🔋"},
				{":mag:", "🔍"},
				{":bathtub:", "🛁"},
				{":bath:", "🛀"},
				{":shower:", "🚿"},
				{":toilet:", "🚽"},
				{":wrench:", "🔧"},
				{":nut_and_bolt:", "🔩"},
				{":hammer:", "🔨"},
				{":door:", "🚪"},
				{":smoking:", "🚬"},
				{":bomb:", "💣"},
				{":gun:", "🔫"},
				{":hocho:", "🔪"},
				{":knife:", "🔪"},
				{":pill:", "💊"},
				{":syringe:", "💉"},
				{":moneybag:", "💰"},
				{":yen:", "💴"},
				{":dollar:", "💵"},
				{":pound:", "💷"},
				{":euro:", "💶"},
				{":credit_card:", "💳"},
				{":money_with_wings:", "💸"},
				{":calling:", "📲"},
				{":e-mail:", "📧"},
				{":inbox_tray:", "📥"},
				{":outbox_tray:", "📤"},
				{":email:", "✉️"},
				{":envelope:", "✉️"},
				{":envelope_with_arrow:", "📩"},
				{":incoming_envelope:", "📨"},
				{":postal_horn:", "📯"},
				{":mailbox:", "📫"},
				{":mailbox_closed:", "📪"},
				{":mailbox_with_mail:", "📬"},
				{":mailbox_with_no_mail:", "📭"},
				{":postbox:", "📮"},
				{":package:", "📦"},
				{":memo:", "📝"},
				{":pencil:", "📝"},
				{":page_facing_up:", "📄"},
				{":page_with_curl:", "📃"},
				{":bookmark_tabs:", "📑"},
				{":bar_chart:", "📊"},
				{":chart_with_upwards_trend:", "📈"},
				{":chart_with_downwards_trend:", "📉"},
				{":scroll:", "📜"},
				{":clipboard:", "📋"},
				{":date:", "📅"},
				{":calendar:", "📆"},
				{":card_index:", "📇"},
				{":file_folder:", "📁"},
				{":open_file_folder:", "📂"},
				{":scissors:", "✂️"},
				{":pushpin:", "📌"},
				{":paperclip:", "📎"},
				{":black_nib:", "✒️"},
				{":pencil2:", "✏️"},
				{":straight_ruler:", "📏"},
				{":triangular_ruler:", "📐"},
				{":closed_book:", "📕"},
				{":green_book:", "📗"},
				{":blue_book:", "📘"},
				{":orange_book:", "📙"},
				{":notebook:", "📓"},
				{":notebook_with_decorative_cover:", "📔"},
				{":ledger:", "📒"},
				{":books:", "📚"},
				{":book:", "📖"},
				{":open_book:", "📖"},
				{":bookmark:", "🔖"},
				{":name_badge:", "📛"},
				{":microscope:", "🔬"},
				{":telescope:", "🔭"},
				{":newspaper:", "📰"},
				{":art:", "🎨"},
				{":clapper:", "🎬"},
				{":microphone:", "🎤"},
				{":headphones:", "🎧"},
				{":musical_score:", "🎼"},
				{":musical_note:", "🎵"},
				{":notes:", "🎶"},
				{":musical_keyboard:", "🎹"},
				{":violin:", "🎻"},
				{":trumpet:", "🎺"},
				{":saxophone:", "🎷"},
				{":guitar:", "🎸"},
				{":space_invader:", "👾"},
				{":video_game:", "🎮"},
				{":black_joker:", "🃏"},
				{":flower_playing_cards:", "🎴"},
				{":mahjong:", "🀄"},
				{":game_die:", "🎲"},
				{":dart:", "🎯"},
				{":football:", "🏈"},
				{":basketball:", "🏀"},
				{":soccer:", "⚽"},
				{":baseball:", "⚾️"},
				{":tennis:", "🎾"},
				{":8ball:", "🎱"},
				{":rugby_football:", "🏉"},
				{":bowling:", "🎳"},
				{":golf:", "⛳"},
				{":mountain_bicyclist:", "🚵"},
				{":bicyclist:", "🚴"},
				{":checkered_flag:", "🏁"},
				{":horse_racing:", "🏇"},
				{":trophy:", "🏆"},
				{":ski:", "🎿"},
				{":snowboarder:", "🏂"},
				{":swimmer:", "🏊"},
				{":surfer:", "🏄"},
				{":fishing_pole_and_fish:", "🎣"},
				{":coffee:", "☕"},
				{":tea:", "🍵"},
				{":sake:", "🍶"},
				{":baby_bottle:", "🍼"},
				{":beer:", "🍺"},
				{":beers:", "🍻"},
				{":cocktail:", "🍸"},
				{":tropical_drink:", "🍹"},
				{":wine_glass:", "🍷"},
				{":fork_and_knife:", "🍴"},
				{":pizza:", "🍕"},
				{":hamburger:", "🍔"},
				{":fries:", "🍟"},
				{":poultry_leg:", "🍗"},
				{":meat_on_bone:", "🍖"},
				{":spaghetti:", "🍝"},
				{":curry:", "🍛"},
				{":fried_shrimp:", "🍤"},
				{":bento:", "🍱"},
				{":sushi:", "🍣"},
				{":fish_cake:", "🍥"},
				{":rice_ball:", "🍙"},
				{":rice_cracker:", "🍘"},
				{":rice:", "🍚"},
				{":ramen:", "🍜"},
				{":stew:", "🍲"},
				{":oden:", "🍢"},
				{":dango:", "🍡"},
				{":egg:", "🍳"},
				{":bread:", "🍞"},
				{":doughnut:", "🍩"},
				{":custard:", "🍮"},
				{":icecream:", "🍦"},
				{":ice_cream:", "🍨"},
				{":shaved_ice:", "🍧"},
				{":birthday:", "🎂"},
				{":cake:", "🍰"},
				{":cookie:", "🍪"},
				{":chocolate_bar:", "🍫"},
				{":candy:", "🍬"},
				{":lollipop:", "🍭"},
				{":honey_pot:", "🍯"},
				{":apple:", "🍎"},
				{":green_apple:", "🍏"},
				{":tangerine:", "🍊"},
				{":lemon:", "🍋"},
				{":cherries:", "🍒"},
				{":grapes:", "🍇"},
				{":watermelon:", "🍉"},
				{":strawberry:", "🍓"},
				{":peach:", "🍑"},
				{":melon:", "🍈"},
				{":banana:", "🍌"},
				{":pear:", "🍐"},
				{":pineapple:", "🍍"},
				{":sweet_potato:", "🍠"},
				{":eggplant:", "🍆"},
				{":tomato:", "🍅"},
				{":corn:", "🌽"},
				{":house:", "🏠"},
				{":house_with_garden:", "🏡"},
				{":school:", "🏫"},
				{":office:", "🏢"},
				{":post_office:", "🏣"},
				{":hospital:", "🏥"},
				{":bank:", "🏦"},
				{":convenience_store:", "🏪"},
				{":love_hotel:", "🏩"},
				{":hotel:", "🏨"},
				{":wedding:", "💒"},
				{":church:", "⛪"},
				{":department_store:", "🏬"},
				{":european_post_office:", "🏤"},
				{":city_sunrise:", "🌇"},
				{":city_sunset:", "🌆"},
				{":japanese_castle:", "🏯"},
				{":european_castle:", "🏰"},
				{":tent:", "⛺"},
				{":factory:", "🏭"},
				{":tokyo_tower:", "🗼"},
				{":japan:", "🗾"},
				{":mount_fuji:", "🗻"},
				{":sunrise_over_mountains:", "🌄"},
				{":sunrise:", "🌅"},
				{":night_with_stars:", "🌃"},
				{":statue_of_liberty:", "🗽"},
				{":bridge_at_night:", "🌉"},
				{":carousel_horse:", "🎠"},
				{":ferris_wheel:", "🎡"},
				{":fountain:", "⛲"},
				{":roller_coaster:", "🎢"},
				{":ship:", "🚢"},
				{":boat:", "⛵"},
				{":sailboat:", "⛵"},
				{":speedboat:", "🚤"},
				{":rowboat:", "🚣"},
				{":anchor:", "⚓"},
				{":rocket:", "🚀"},
				{":airplane:", "✈️"},
				{":seat:", "💺"},
				{":helicopter:", "🚁"},
				{":steam_locomotive:", "🚂"},
				{":tram:", "🚊"},
				{":station:", "🚉"},
				{":mountain_railway:", "🚞"},
				{":train2:", "🚆"},
				{":bullettrain_side:", "🚄"},
				{":bullettrain_front:", "🚅"},
				{":light_rail:", "🚈"},
				{":metro:", "🚇"},
				{":monorail:", "🚝"},
				{":train:", "🚋"},
				{":railway_car:", "🚃"},
				{":trolleybus:", "🚎"},
				{":bus:", "🚌"},
				{":oncoming_bus:", "🚍"},
				{":blue_car:", "🚙"},
				{":oncoming_automobile:", "🚘"},
				{":car:", "🚗"},
				{":red_car:", "🚗"},
				{":taxi:", "🚕"},
				{":oncoming_taxi:", "🚖"},
				{":articulated_lorry:", "🚛"},
				{":truck:", "🚚"},
				{":rotating_light:", "🚨"},
				{":police_car:", "🚓"},
				{":oncoming_police_car:", "🚔"},
				{":fire_engine:", "🚒"},
				{":ambulance:", "🚑"},
				{":minibus:", "🚐"},
				{":bike:", "🚲"},
				{":aerial_tramway:", "🚡"},
				{":suspension_railway:", "🚟"},
				{":mountain_cableway:", "🚠"},
				{":tractor:", "🚜"},
				{":barber:", "💈"},
				{":busstop:", "🚏"},
				{":ticket:", "🎫"},
				{":vertical_traffic_light:", "🚦"},
				{":traffic_light:", "🚥"},
				{":warning:", "⚠️"},
				{":construction:", "🚧"},
				{":beginner:", "🔰"},
				{":fuelpump:", "⛽"},
				{":izakaya_lantern:", "🏮"},
				{":lantern:", "🏮"},
				{":slot_machine:", "🎰"},
				{":hotsprings:", "♨️"},
				{":moyai:", "🗿"},
				{":circus_tent:", "🎪"},
				{":performing_arts:", "🎭"},
				{":round_pushpin:", "📍"},
				{":triangular_flag_on_post:", "🚩"},
				{":jp:", "🇯🇵"},
				{":kr:", "🇰🇷"},
				{":de:", "🇩🇪"},
				{":cn:", "🇨🇳"},
				{":us:", "🇺🇸"},
				{":fr:", "🇫🇷"},
				{":es:", "🇪🇸"},
				{":it:", "🇮🇹"},
				{":ru:", "🇷🇺"},
				{":gb:", "🇬🇧"},
				{":uk:", "🇬🇧"},
				{":one:", "1️⃣"},
				{":two:", "2️⃣"},
				{":three:", "3️⃣"},
				{":four:", "4️⃣"},
				{":five:", "5️⃣"},
				{":six:", "6️⃣"},
				{":seven:", "7️⃣"},
				{":eight:", "8️⃣"},
				{":nine:", "9️⃣"},
				{":zero:", "0️⃣"},
				{":keycap_ten:", "🔟"},
				{":hash:", "#️⃣"},
				{":symbols:", "🔣"},
				{":arrow_up:", "⬆️"},
				{":arrow_down:", "⬇️"},
				{":arrow_left:", "⬅️"},
				{":arrow_right:", "➡️"},
				{":capital_abcd:", "🔠"},
				{":abcd:", "🔡"},
				{":abc:", "🔤"},
				{":arrow_upper_right:", "↗️"},
				{":arrow_upper_left:", "↖️"},
				{":arrow_lower_right:", "↘️"},
				{":arrow_lower_left:", "↙️"},
				{":left_right_arrow:", "↔️"},
				{":arrow_up_down:", "↕️"},
				{":arrows_counterclockwise:", "🔄"},
				{":arrow_backward:", "◀️"},
				{":arrow_forward:", "▶️"},
				{":arrow_up_small:", "🔼"},
				{":arrow_down_small:", "🔽"},
				{":leftwards_arrow_with_hook:", "↩️"},
				{":arrow_right_hook:", "↪️"},
				{":information_source:", "ℹ️"},
				{":rewind:", "⏪"},
				{":fast_forward:", "⏩"},
				{":arrow_double_up:", "⏫"},
				{":arrow_double_down:", "⏬"},
				{":arrow_heading_down:", "⤵️"},
				{":arrow_heading_up:", "⤴️"},
				{":ok:", "🆗"},
				{":twisted_rightwards_arrows:", "🔀"},
				{":repeat:", "🔁"},
				{":repeat_one:", "🔂"},
				{":new:", "🆕"},
				{":up:", "🆙"},
				{":cool:", "🆒"},
				{":free:", "🆓"},
				{":ng:", "🆖"},
				{":signal_strength:", "📶"},
				{":cinema:", "🎦"},
				{":koko:", "🈁"},
				{":u6307:", "🈯"},
				{":u7a7a:", "🈳"},
				{":u6e80:", "🈵"},
				{":u5408:", "🈴"},
				{":u7981:", "🈲"},
				{":ideograph_advantage:", "🉐"},
				{":u5272:", "🈹"},
				{":u55b6:", "🈺"},
				{":u6709:", "🈶"},
				{":u7121:", "🈚"},
				{":restroom:", "🚻"},
				{":mens:", "🚹"},
				{":womens:", "🚺"},
				{":baby_symbol:", "🚼"},
				{":wc:", "🚾"},
				{":potable_water:", "🚰"},
				{":put_litter_in_its_place:", "🚮"},
				{":parking:", "🅿️"},
				{":wheelchair:", "♿"},
				{":no_smoking:", "🚭"},
				{":u6708:", "🈷️"},
				{":u7533:", "🈸"},
				{":sa:", "🈂️"},
				{":m:", "Ⓜ️"},
				{":passport_control:", "🛂"},
				{":baggage_claim:", "🛄"},
				{":left_luggage:", "🛅"},
				{":customs:", "🛃"},
				{":accept:", "🉑"},
				{":secret:", "㊙️"},
				{":congratulations:", "㊗️"},
				{":cl:", "🆑"},
				{":sos:", "🆘"},
				{":id:", "🆔"},
				{":no_entry_sign:", "🚫"},
				{":underage:", "🔞"},
				{":no_mobile_phones:", "📵"},
				{":do_not_litter:", "🚯"},
				{":non-potable_water:", "🚱"},
				{":no_bicycles:", "🚳"},
				{":no_pedestrians:", "🚷"},
				{":children_crossing:", "🚸"},
				{":no_entry:", "⛔"},
				{":eight_spoked_asterisk:", "✳️"},
				{":sparkle:", "❇️"},
				{":negative_squared_cross_mark:", "❎"},
				{":white_check_mark:", "✅"},
				{":eight_pointed_black_star:", "✴️"},
				{":heart_decoration:", "💟"},
				{":vs:", "🆚"},
				{":vibration_mode:", "📳"},
				{":mobile_phone_off:", "📴"},
				{":a:", "🅰️"},
				{":b:", "🅱️"},
				{":ab:", "🆎"},
				{":o2:", "🅾️"},
				{":diamond_shape_with_a_dot_inside:", "💠"},
				{":loop:", "➿"},
				{":recycle:", "♻️"},
				{":aries:", "♈"},
				{":taurus:", "♉"},
				{":gemini:", "♊"},
				{":cancer:", "♋"},
				{":leo:", "♌"},
				{":virgo:", "♍"},
				{":libra:", "♎"},
				{":scorpius:", "♏"},
				{":sagittarius:", "♐"},
				{":capricorn:", "♑"},
				{":aquarius:", "♒"},
				{":pisces:", "♓"},
				{":ophiuchus:", "⛎"},
				{":six_pointed_star:", "🔯"},
				{":atm:", "🏧"},
				{":chart:", "💹"},
				{":heavy_dollar_sign:", "💲"},
				{":currency_exchange:", "💱"},
				{":copyright:", "©️"},
				{":registered:", "®️"},
				{":tm:", "™️"},
				{":x:", "❌"},
				{":bangbang:", "‼️"},
				{":interrobang:", "⁉️"},
				{":exclamation:", "❗"},
				{":heavy_exclamation_mark:", "❗"},
				{":question:", "❓"},
				{":grey_exclamation:", "❕"},
				{":grey_question:", "❔"},
				{":o:", "⭕"},
				{":top:", "🔝"},
				{":end:", "🔚"},
				{":back:", "🔙"},
				{":on:", "🔛"},
				{":soon:", "🔜"},
				{":arrows_clockwise:", "🔃"},
				{":clock12:", "🕛"},
				{":clock1230:", "🕧"},
				{":clock1:", "🕐"},
				{":clock130:", "🕜"},
				{":clock2:", "🕑"},
				{":clock230:", "🕝"},
				{":clock3:", "🕒"},
				{":clock330:", "🕞"},
				{":clock4:", "🕓"},
				{":clock430:", "🕟"},
				{":clock5:", "🕔"},
				{":clock530:", "🕠"},
				{":clock6:", "🕕"},
				{":clock7:", "🕖"},
				{":clock8:", "🕗"},
				{":clock9:", "🕘"},
				{":clock10:", "🕙"},
				{":clock11:", "🕚"},
				{":clock630:", "🕡"},
				{":clock730:", "🕢"},
				{":clock830:", "🕣"},
				{":clock930:", "🕤"},
				{":clock1030:", "🕥"},
				{":clock1130:", "🕦"},
				{":heavy_multiplication_x:", "✖️"},
				{":heavy_plus_sign:", "➕"},
				{":heavy_minus_sign:", "➖"},
				{":heavy_division_sign:", "➗"},
				{":spades:", "♠️"},
				{":hearts:", "♥️"},
				{":clubs:", "♣️"},
				{":diamonds:", "♦️"},
				{":white_flower:", "💮"},
				{":heavy_check_mark:", "✔️"},
				{":ballot_box_with_check:", "☑️"},
				{":radio_button:", "🔘"},
				{":link:", "🔗"},
				{":curly_loop:", "➰"},
				{":wavy_dash:", "〰️"},
				{":part_alternation_mark:", "〽️"},
				{":trident:", "🔱"},
				{":black_medium_square:", "◼️"},
				{":white_medium_square:", "◻️"},
				{":black_medium_small_square:", "◾"},
				{":white_medium_small_square:", "◽"},
				{":black_small_square:", "▪️"},
				{":white_small_square:", "▫️"},
				{":small_red_triangle:", "🔺"},
				{":black_square_button:", "🔲"},
				{":white_square_button:", "🔳"},
				{":black_circle:", "⚫"},
				{":white_circle:", "⚪"},
				{":red_circle:", "🔴"},
				{":large_blue_circle:", "🔵"},
				{":small_red_triangle_down:", "🔻"},
				{":white_large_square:", "⬜"},
				{":black_large_square:", "⬛"},
				{":large_orange_diamond:", "🔶"},
				{":large_blue_diamond:", "🔷"},
				{":small_orange_diamond:", "🔸"},
				{":small_blue_diamond:", "🔹"},

				// Custom additions
				{ ":custom_arrow_left:", "←"},
				{ ":custom_arrow_right:", "→"},
				{ ":custom_arrow_left_right:", "↔"},

				{ ":custom_arrow_left_strong:", "⇐"},
				{ ":custom_arrow_right_strong:", "⇒"},
				{ ":custom_arrow_left_right_strong:", "⇔"},
				{":rofl:","🤣"},
				{":slightly_smiling_face:","🙂"},
				{":upside_down_face:","🙃"},
				{":star_struck:","🤩"},
				{":zany_face:","🤪"},
				{":money_mouth_face:","🤑"},
				{":hugs:","🤗"},
				{":hand_over_mouth:","🤭"},
				{":shushing_face:","🤫"},
				{":thinking:","🤔"},
				{":zipper_mouth_face:","🤐"},
				{":raised_eyebrow:","🤨"},
				{":roll_eyes:","🙄"},
				{":lying_face:","🤥"},
				{":drooling_face:","🤤"},
				{":face_with_thermometer:","🤒"},
				{":face_with_head_bandage:","🤕"},
				{":nauseated_face:","🤢"},
				{":vomiting_face:","🤮"},
				{":sneezing_face:","🤧"},
				{":exploding_head:","🤯"},
				{":cowboy_hat_face:","🤠"},
				{":nerd_face:","🤓"},
				{":monocle_face:","🧐"},
				{":slightly_frowning_face:","🙁"},
				{":frowning_face:","☹️"},
				{":cursing_face:","🤬"},
				{":skull_and_crossbones:","☠️"},
				{":clown_face:","🤡"},
				{":robot:","🤖"},
				{":heavy_heart_exclamation:","❣️"},
				{":orange_heart:","🧡"},
				{":black_heart:","🖤"},
				{":hole:","🕳️"},
				{":eye_speech_bubble:","👁️‍🗨️"},
				{":left_speech_bubble:","🗨️"},
				{":right_anger_bubble:","🗯️"},
				{":raised_back_of_hand:","🤚"},
				{":raised_hand_with_fingers_splayed:","🖐️"},
				{":vulcan_salute:","🖖"},
				{":crossed_fingers:","🤞"},
				{":love_you_gesture:","🤟"},
				{":metal:","🤘"},
				{":call_me_hand:","🤙"},
				{":middle_finger:","🖕"},
				{":fist_raised:","✊"},
				{":fist_oncoming:","👊"},
				{":fist_left:","🤛"},
				{":fist_right:","🤜"},
				{":palms_up_together:","🤲"},
				{":handshake:","🤝"},
				{":writing_hand:","✍️"},
				{":selfie:","🤳"},
				{":brain:","🧠"},
				{":eye:","👁️"},
				{":child:","🧒"},
				{":adult:","🧑"},
				{":blond_haired_person:","👱"},
				{":bearded_person:","🧔"},
				{":blond_haired_man:","👱‍♂️"},
				{":blond_haired_woman:","👱‍♀️"},
				{":older_adult:","🧓"},
				{":frowning_person:","🙍"},
				{":frowning_man:","🙍‍♂️"},
				{":frowning_woman:","🙍‍♀️"},
				{":pouting_face:","🙎"},
				{":pouting_man:","🙎‍♂️"},
				{":pouting_woman:","🙎‍♀️"},
				{":no_good_man:","🙅‍♂️"},
				{":no_good_woman:","🙅‍♀️"},
				{":ok_person:","🙆"},
				{":ok_man:","🙆‍♂️"},
				{":tipping_hand_person:","💁"},
				{":tipping_hand_man:","💁‍♂️"},
				{":tipping_hand_woman:","💁‍♀️"},
				{":raising_hand_man:","🙋‍♂️"},
				{":raising_hand_woman:","🙋‍♀️"},
				{":bowing_man:","🙇‍♂️"},
				{":bowing_woman:","🙇‍♀️"},
				{":facepalm:","🤦"},
				{":man_facepalming:","🤦‍♂️"},
				{":woman_facepalming:","🤦‍♀️"},
				{":shrug:","🤷"},
				{":man_shrugging:","🤷‍♂️"},
				{":woman_shrugging:","🤷‍♀️"},
				{":man_health_worker:","👨‍⚕️"},
				{":woman_health_worker:","👩‍⚕️"},
				{":man_student:","👨‍🎓"},
				{":woman_student:","👩‍🎓"},
				{":man_teacher:","👨‍🏫"},
				{":woman_teacher:","👩‍🏫"},
				{":man_judge:","👨‍⚖️"},
				{":woman_judge:","👩‍⚖️"},
				{":man_farmer:","👨‍🌾"},
				{":woman_farmer:","👩‍🌾"},
				{":man_cook:","👨‍🍳"},
				{":woman_cook:","👩‍🍳"},
				{":man_mechanic:","👨‍🔧"},
				{":woman_mechanic:","👩‍🔧"},
				{":man_factory_worker:","👨‍🏭"},
				{":woman_factory_worker:","👩‍🏭"},
				{":man_office_worker:","👨‍💼"},
				{":woman_office_worker:","👩‍💼"},
				{":man_scientist:","👨‍🔬"},
				{":woman_scientist:","👩‍🔬"},
				{":man_technologist:","👨‍💻"},
				{":woman_technologist:","👩‍💻"},
				{":man_singer:","👨‍🎤"},
				{":woman_singer:","👩‍🎤"},
				{":man_artist:","👨‍🎨"},
				{":woman_artist:","👩‍🎨"},
				{":man_pilot:","👨‍✈️"},
				{":woman_pilot:","👩‍✈️"},
				{":man_astronaut:","👨‍🚀"},
				{":woman_astronaut:","👩‍🚀"},
				{":man_firefighter:","👨‍🚒"},
				{":woman_firefighter:","👩‍🚒"},
				{":police_officer:","👮"},
				{":policeman:","👮‍♂️"},
				{":policewoman:","👮‍♀️"},
				{":detective:","🕵️"},
				{":male_detective:","🕵️‍♂️"},
				{":female_detective:","🕵️‍♀️"},
				{":guard:","💂"},
				{":guardswoman:","💂‍♀️"},
				{":construction_worker_man:","👷‍♂️"},
				{":construction_worker_woman:","👷‍♀️"},
				{":prince:","🤴"},
				{":person_with_turban:","👳"},
				{":woman_with_turban:","👳‍♀️"},
				{":woman_with_headscarf:","🧕"},
				{":man_in_tuxedo:","🤵"},
				{":pregnant_woman:","🤰"},
				{":breast_feeding:","🤱"},
				{":mrs_claus:","🤶"},
				{":mage:","🧙"},
				{":mage_man:","🧙‍♂️"},
				{":mage_woman:","🧙‍♀️"},
				{":fairy:","🧚"},
				{":fairy_man:","🧚‍♂️"},
				{":fairy_woman:","🧚‍♀️"},
				{":vampire:","🧛"},
				{":vampire_man:","🧛‍♂️"},
				{":vampire_woman:","🧛‍♀️"},
				{":merperson:","🧜"},
				{":merman:","🧜‍♂️"},
				{":mermaid:","🧜‍♀️"},
				{":elf:","🧝"},
				{":elf_man:","🧝‍♂️"},
				{":elf_woman:","🧝‍♀️"},
				{":genie:","🧞"},
				{":genie_man:","🧞‍♂️"},
				{":genie_woman:","🧞‍♀️"},
				{":zombie:","🧟"},
				{":zombie_man:","🧟‍♂️"},
				{":zombie_woman:","🧟‍♀️"},
				{":massage_man:","💆‍♂️"},
				{":massage_woman:","💆‍♀️"},
				{":haircut_man:","💇‍♂️"},
				{":haircut_woman:","💇‍♀️"},
				{":walking_man:","🚶‍♂️"},
				{":walking_woman:","🚶‍♀️"},
				{":running_man:","🏃‍♂️"},
				{":running_woman:","🏃‍♀️"},
				{":woman_dancing:","💃"},
				{":man_dancing:","🕺"},
				{":business_suit_levitating:","🕴️"},
				{":dancing_men:","👯‍♂️"},
				{":dancing_women:","👯‍♀️"},
				{":sauna_person:","🧖"},
				{":sauna_man:","🧖‍♂️"},
				{":sauna_woman:","🧖‍♀️"},
				{":climbing:","🧗"},
				{":climbing_man:","🧗‍♂️"},
				{":climbing_woman:","🧗‍♀️"},
				{":person_fencing:","🤺"},
				{":skier:","⛷️"},
				{":golfing:","🏌️"},
				{":golfing_man:","🏌️‍♂️"},
				{":golfing_woman:","🏌️‍♀️"},
				{":surfing_man:","🏄‍♂️"},
				{":surfing_woman:","🏄‍♀️"},
				{":rowing_man:","🚣‍♂️"},
				{":rowing_woman:","🚣‍♀️"},
				{":swimming_man:","🏊‍♂️"},
				{":swimming_woman:","🏊‍♀️"},
				{":bouncing_ball_person:","⛹️"},
				{":bouncing_ball_man:","⛹️‍♂️"},
				{":bouncing_ball_woman:","⛹️‍♀️"},
				{":weight_lifting:","🏋️"},
				{":weight_lifting_man:","🏋️‍♂️"},
				{":weight_lifting_woman:","🏋️‍♀️"},
				{":biking_man:","🚴‍♂️"},
				{":biking_woman:","🚴‍♀️"},
				{":mountain_biking_man:","🚵‍♂️"},
				{":mountain_biking_woman:","🚵‍♀️"},
				{":cartwheeling:","🤸"},
				{":man_cartwheeling:","🤸‍♂️"},
				{":woman_cartwheeling:","🤸‍♀️"},
				{":wrestling:","🤼"},
				{":men_wrestling:","🤼‍♂️"},
				{":women_wrestling:","🤼‍♀️"},
				{":water_polo:","🤽"},
				{":man_playing_water_polo:","🤽‍♂️"},
				{":woman_playing_water_polo:","🤽‍♀️"},
				{":handball_person:","🤾"},
				{":man_playing_handball:","🤾‍♂️"},
				{":woman_playing_handball:","🤾‍♀️"},
				{":juggling_person:","🤹"},
				{":man_juggling:","🤹‍♂️"},
				{":woman_juggling:","🤹‍♀️"},
				{":lotus_position:","🧘"},
				{":lotus_position_man:","🧘‍♂️"},
				{":lotus_position_woman:","🧘‍♀️"},
				{":sleeping_bed:","🛌"},
				{":people_holding_hands:","🧑‍🤝‍🧑"},
				{":couplekiss_man_woman:","👩‍❤️‍💋‍👨"},
				{":couplekiss_man_man:","👨‍❤️‍💋‍👨"},
				{":couplekiss_woman_woman:","👩‍❤️‍💋‍👩"},
				{":couple_with_heart_woman_man:","👩‍❤️‍👨"},
				{":couple_with_heart_man_man:","👨‍❤️‍👨"},
				{":couple_with_heart_woman_woman:","👩‍❤️‍👩"},
				{":family_man_woman_boy:","👨‍👩‍👦"},
				{":family_man_woman_girl:","👨‍👩‍👧"},
				{":family_man_woman_girl_boy:","👨‍👩‍👧‍👦"},
				{":family_man_woman_boy_boy:","👨‍👩‍👦‍👦"},
				{":family_man_woman_girl_girl:","👨‍👩‍👧‍👧"},
				{":family_man_man_boy:","👨‍👨‍👦"},
				{":family_man_man_girl:","👨‍👨‍👧"},
				{":family_man_man_girl_boy:","👨‍👨‍👧‍👦"},
				{":family_man_man_boy_boy:","👨‍👨‍👦‍👦"},
				{":family_man_man_girl_girl:","👨‍👨‍👧‍👧"},
				{":family_woman_woman_boy:","👩‍👩‍👦"},
				{":family_woman_woman_girl:","👩‍👩‍👧"},
				{":family_woman_woman_girl_boy:","👩‍👩‍👧‍👦"},
				{":family_woman_woman_boy_boy:","👩‍👩‍👦‍👦"},
				{":family_woman_woman_girl_girl:","👩‍👩‍👧‍👧"},
				{":family_man_boy:","👨‍👦"},
				{":family_man_boy_boy:","👨‍👦‍👦"},
				{":family_man_girl:","👨‍👧"},
				{":family_man_girl_boy:","👨‍👧‍👦"},
				{":family_man_girl_girl:","👨‍👧‍👧"},
				{":family_woman_boy:","👩‍👦"},
				{":family_woman_boy_boy:","👩‍👦‍👦"},
				{":family_woman_girl:","👩‍👧"},
				{":family_woman_girl_boy:","👩‍👧‍👦"},
				{":family_woman_girl_girl:","👩‍👧‍👧"},
				{":speaking_head:","🗣️"},
				{":gorilla:","🦍"},
				{":fox_face:","🦊"},
				{":lion:","🦁"},
				{":unicorn:","🦄"},
				{":zebra:","🦓"},
				{":deer:","🦌"},
				{":giraffe:","🦒"},
				{":rhinoceros:","🦏"},
				{":chipmunk:","🐿️"},
				{":hedgehog:","🦔"},
				{":bat:","🦇"},
				{":turkey:","🦃"},
				{":dove:","🕊️"},
				{":eagle:","🦅"},
				{":duck:","🦆"},
				{":owl:","🦉"},
				{":lizard:","🦎"},
				{":sauropod:","🦕"},
				{":t-rex:","🦖"},
				{":shark:","🦈"},
				{":butterfly:","🦋"},
				{":cricket:","🦗"},
				{":spider:","🕷️"},
				{":spider_web:","🕸️"},
				{":scorpion:","🦂"},
				{":rosette:","🏵️"},
				{":wilted_flower:","🥀"},
				{":shamrock:","☘️"},
				{":kiwi_fruit:","🥝"},
				{":coconut:","🥥"},
				{":avocado:","🥑"},
				{":potato:","🥔"},
				{":carrot:","🥕"},
				{":hot_pepper:","🌶️"},
				{":cucumber:","🥒"},
				{":broccoli:","🥦"},
				{":peanuts:","🥜"},
				{":croissant:","🥐"},
				{":baguette_bread:","🥖"},
				{":pretzel:","🥨"},
				{":pancakes:","🥞"},
				{":cheese:","🧀"},
				{":cut_of_meat:","🥩"},
				{":bacon:","🥓"},
				{":hotdog:","🌭"},
				{":sandwich:","🥪"},
				{":taco:","🌮"},
				{":burrito:","🌯"},
				{":stuffed_flatbread:","🥙"},
				{":fried_egg:","🍳"},
				{":shallow_pan_of_food:","🥘"},
				{":bowl_with_spoon:","🥣"},
				{":green_salad:","🥗"},
				{":popcorn:","🍿"},
				{":canned_food:","🥫"},
				{":dumpling:","🥟"},
				{":fortune_cookie:","🥠"},
				{":takeout_box:","🥡"},
				{":crab:","🦀"},
				{":shrimp:","🦐"},
				{":squid:","🦑"},
				{":pie:","🥧"},
				{":milk_glass:","🥛"},
				{":champagne:","🍾"},
				{":clinking_glasses:","🥂"},
				{":tumbler_glass:","🥃"},
				{":cup_with_straw:","🥤"},
				{":chopsticks:","🥢"},
				{":plate_with_cutlery:","🍽️"},
				{":spoon:","🥄"},
				{":amphora:","🏺"},
				{":world_map:","🗺️"},
				{":mountain_snow:","🏔️"},
				{":mountain:","⛰️"},
				{":camping:","🏕️"},
				{":beach_umbrella:","🏖️"},
				{":desert:","🏜️"},
				{":desert_island:","🏝️"},
				{":national_park:","🏞️"},
				{":stadium:","🏟️"},
				{":classical_building:","🏛️"},
				{":building_construction:","🏗️"},
				{":houses:","🏘️"},
				{":derelict_house:","🏚️"},
				{":mosque:","🕌"},
				{":synagogue:","🕍"},
				{":shinto_shrine:","⛩️"},
				{":kaaba:","🕋"},
				{":cityscape:","🏙️"},
				{":racing_car:","🏎️"},
				{":motorcycle:","🏍️"},
				{":motor_scooter:","🛵"},
				{":kick_scooter:","🛴"},
				{":motorway:","🛣️"},
				{":railway_track:","🛤️"},
				{":oil_drum:","🛢️"},
				{":stop_sign:","🛑"},
				{":canoe:","🛶"},
				{":passenger_ship:","🛳️"},
				{":ferry:","⛴️"},
				{":motor_boat:","🛥️"},
				{":small_airplane:","🛩️"},
				{":flight_departure:","🛫"},
				{":flight_arrival:","🛬"},
				{":artificial_satellite:","🛰️"},
				{":flying_saucer:","🛸"},
				{":bellhop_bell:","🛎️"},
				{":stopwatch:","⏱️"},
				{":timer_clock:","⏲️"},
				{":mantelpiece_clock:","🕰️"},
				{":thermometer:","🌡️"},
				{":cloud_with_lightning_and_rain:","⛈️"},
				{":sun_behind_small_cloud:","🌤️"},
				{":sun_behind_large_cloud:","🌥️"},
				{":sun_behind_rain_cloud:","🌦️"},
				{":cloud_with_rain:","🌧️"},
				{":cloud_with_snow:","🌨️"},
				{":cloud_with_lightning:","🌩️"},
				{":tornado:","🌪️"},
				{":fog:","🌫️"},
				{":wind_face:","🌬️"},
				{":open_umbrella:","☂️"},
				{":parasol_on_ground:","⛱️"},
				{":snowman_with_snow:","☃️"},
				{":comet:","☄️"},
				{":reminder_ribbon:","🎗️"},
				{":tickets:","🎟️"},
				{":medal_military:","🎖️"},
				{":medal_sports:","🏅"},
				{":1st_place_medal:","🥇"},
				{":2nd_place_medal:","🥈"},
				{":3rd_place_medal:","🥉"},
				{":volleyball:","🏐"},
				{":cricket_game:","🏏"},
				{":field_hockey:","🏑"},
				{":ice_hockey:","🏒"},
				{":ping_pong:","🏓"},
				{":badminton:","🏸"},
				{":boxing_glove:","🥊"},
				{":martial_arts_uniform:","🥋"},
				{":goal_net:","🥅"},
				{":ice_skate:","⛸️"},
				{":sled:","🛷"},
				{":curling_stone:","🥌"},
				{":joystick:","🕹️"},
				{":chess_pawn:","♟️"},
				{":framed_picture:","🖼️"},
				{":dark_sunglasses:","🕶️"},
				{":scarf:","🧣"},
				{":gloves:","🧤"},
				{":coat:","🧥"},
				{":socks:","🧦"},
				{":shopping:","🛍️"},
				{":billed_cap:","🧢"},
				{":rescue_worker_helmet:","⛑️"},
				{":prayer_beads:","📿"},
				{":studio_microphone:","🎙️"},
				{":level_slider:","🎚️"},
				{":control_knobs:","🎛️"},
				{":drum:","🥁"},
				{":desktop_computer:","🖥️"},
				{":printer:","🖨️"},
				{":keyboard:","⌨️"},
				{":computer_mouse:","🖱️"},
				{":trackball:","🖲️"},
				{":film_strip:","🎞️"},
				{":film_projector:","📽️"},
				{":camera_flash:","📸"},
				{":candle:","🕯️"},
				{":newspaper_roll:","🗞️"},
				{":label:","🏷️"},
				{":ballot_box:","🗳️"},
				{":fountain_pen:","🖋️"},
				{":pen:","🖊️"},
				{":paintbrush:","🖌️"},
				{":crayon:","🖍️"},
				{":card_index_dividers:","🗂️"},
				{":spiral_notepad:","🗒️"},
				{":spiral_calendar:","🗓️"},
				{":paperclips:","🖇️"},
				{":card_file_box:","🗃️"},
				{":file_cabinet:","🗄️"},
				{":wastebasket:","🗑️"},
				{":old_key:","🗝️"},
				{":pick:","⛏️"},
				{":hammer_and_pick:","⚒️"},
				{":hammer_and_wrench:","🛠️"},
				{":dagger:","🗡️"},
				{":crossed_swords:","⚔️"},
				{":bow_and_arrow:","🏹"},
				{":shield:","🛡️"},
				{":gear:","⚙️"},
				{":clamp:","🗜️"},
				{":balance_scale:","⚖️"},
				{":chains:","⛓️"},
				{":alembic:","⚗️"},
				{":bed:","🛏️"},
				{":couch_and_lamp:","🛋️"},
				{":shopping_cart:","🛒"},
				{":coffin:","⚰️"},
				{":funeral_urn:","⚱️"},
				{":radioactive:","☢️"},
				{":biohazard:","☣️"},
				{":place_of_worship:","🛐"},
				{":atom_symbol:","⚛️"},
				{":om:","🕉️"},
				{":star_of_david:","✡️"},
				{":wheel_of_dharma:","☸️"},
				{":yin_yang:","☯️"},
				{":latin_cross:","✝️"},
				{":orthodox_cross:","☦️"},
				{":star_and_crescent:","☪️"},
				{":peace_symbol:","☮️"},
				{":menorah:","🕎"},
				{":next_track_button:","⏭️"},
				{":play_or_pause_button:","⏯️"},
				{":previous_track_button:","⏮️"},
				{":pause_button:","⏸️"},
				{":stop_button:","⏹️"},
				{":record_button:","⏺️"},
				{":eject_button:","⏏️"},
				{":female_sign:","♀️"},
				{":male_sign:","♂️"},
				{":medical_symbol:","⚕️"},
				{":infinity:","♾️"},
				{":fleur_de_lis:","⚜️"},
				{":asterisk:","*️⃣"},
				{":black_flag:","🏴"},
				{":white_flag:","🏳️"},
				{":rainbow_flag:","🏳️‍🌈"},
				{":pirate_flag:","🏴‍☠️"},
				{":ascension_island:","🇦🇨"},
				{":andorra:","🇦🇩"},
				{":united_arab_emirates:","🇦🇪"},
				{":afghanistan:","🇦🇫"},
				{":antigua_barbuda:","🇦🇬"},
				{":anguilla:","🇦🇮"},
				{":albania:","🇦🇱"},
				{":armenia:","🇦🇲"},
				{":angola:","🇦🇴"},
				{":antarctica:","🇦🇶"},
				{":argentina:","🇦🇷"},
				{":american_samoa:","🇦🇸"},
				{":austria:","🇦🇹"},
				{":australia:","🇦🇺"},
				{":aruba:","🇦🇼"},
				{":aland_islands:","🇦🇽"},
				{":azerbaijan:","🇦🇿"},
				{":bosnia_herzegovina:","🇧🇦"},
				{":barbados:","🇧🇧"},
				{":bangladesh:","🇧🇩"},
				{":belgium:","🇧🇪"},
				{":burkina_faso:","🇧🇫"},
				{":bulgaria:","🇧🇬"},
				{":bahrain:","🇧🇭"},
				{":burundi:","🇧🇮"},
				{":benin:","🇧🇯"},
				{":st_barthelemy:","🇧🇱"},
				{":bermuda:","🇧🇲"},
				{":brunei:","🇧🇳"},
				{":bolivia:","🇧🇴"},
				{":caribbean_netherlands:","🇧🇶"},
				{":brazil:","🇧🇷"},
				{":bahamas:","🇧🇸"},
				{":bhutan:","🇧🇹"},
				{":bouvet_island:","🇧🇻"},
				{":botswana:","🇧🇼"},
				{":belarus:","🇧🇾"},
				{":belize:","🇧🇿"},
				{":canada:","🇨🇦"},
				{":cocos_islands:","🇨🇨"},
				{":congo_kinshasa:","🇨🇩"},
				{":central_african_republic:","🇨🇫"},
				{":congo_brazzaville:","🇨🇬"},
				{":switzerland:","🇨🇭"},
				{":cote_divoire:","🇨🇮"},
				{":cook_islands:","🇨🇰"},
				{":chile:","🇨🇱"},
				{":cameroon:","🇨🇲"},
				{":colombia:","🇨🇴"},
				{":clipperton_island:","🇨🇵"},
				{":costa_rica:","🇨🇷"},
				{":cuba:","🇨🇺"},
				{":cape_verde:","🇨🇻"},
				{":curacao:","🇨🇼"},
				{":christmas_island:","🇨🇽"},
				{":cyprus:","🇨🇾"},
				{":czech_republic:","🇨🇿"},
				{":diego_garcia:","🇩🇬"},
				{":djibouti:","🇩🇯"},
				{":denmark:","🇩🇰"},
				{":dominica:","🇩🇲"},
				{":dominican_republic:","🇩🇴"},
				{":algeria:","🇩🇿"},
				{":ceuta_melilla:","🇪🇦"},
				{":ecuador:","🇪🇨"},
				{":estonia:","🇪🇪"},
				{":egypt:","🇪🇬"},
				{":western_sahara:","🇪🇭"},
				{":eritrea:","🇪🇷"},
				{":ethiopia:","🇪🇹"},
				{":eu:","🇪🇺"},
				{":finland:","🇫🇮"},
				{":fiji:","🇫🇯"},
				{":falkland_islands:","🇫🇰"},
				{":micronesia:","🇫🇲"},
				{":faroe_islands:","🇫🇴"},
				{":gabon:","🇬🇦"},
				{":grenada:","🇬🇩"},
				{":georgia:","🇬🇪"},
				{":french_guiana:","🇬🇫"},
				{":guernsey:","🇬🇬"},
				{":ghana:","🇬🇭"},
				{":gibraltar:","🇬🇮"},
				{":greenland:","🇬🇱"},
				{":gambia:","🇬🇲"},
				{":guinea:","🇬🇳"},
				{":guadeloupe:","🇬🇵"},
				{":equatorial_guinea:","🇬🇶"},
				{":greece:","🇬🇷"},
				{":south_georgia_south_sandwich_islands:","🇬🇸"},
				{":guatemala:","🇬🇹"},
				{":guam:","🇬🇺"},
				{":guinea_bissau:","🇬🇼"},
				{":guyana:","🇬🇾"},
				{":hong_kong:","🇭🇰"},
				{":heard_mcdonald_islands:","🇭🇲"},
				{":honduras:","🇭🇳"},
				{":croatia:","🇭🇷"},
				{":haiti:","🇭🇹"},
				{":hungary:","🇭🇺"},
				{":canary_islands:","🇮🇨"},
				{":indonesia:","🇮🇩"},
				{":ireland:","🇮🇪"},
				{":israel:","🇮🇱"},
				{":isle_of_man:","🇮🇲"},
				{":india:","🇮🇳"},
				{":british_indian_ocean_territory:","🇮🇴"},
				{":iraq:","🇮🇶"},
				{":iran:","🇮🇷"},
				{":iceland:","🇮🇸"},
				{":jersey:","🇯🇪"},
				{":jamaica:","🇯🇲"},
				{":jordan:","🇯🇴"},
				{":kenya:","🇰🇪"},
				{":kyrgyzstan:","🇰🇬"},
				{":cambodia:","🇰🇭"},
				{":kiribati:","🇰🇮"},
				{":comoros:","🇰🇲"},
				{":st_kitts_nevis:","🇰🇳"},
				{":north_korea:","🇰🇵"},
				{":kuwait:","🇰🇼"},
				{":cayman_islands:","🇰🇾"},
				{":kazakhstan:","🇰🇿"},
				{":laos:","🇱🇦"},
				{":lebanon:","🇱🇧"},
				{":st_lucia:","🇱🇨"},
				{":liechtenstein:","🇱🇮"},
				{":sri_lanka:","🇱🇰"},
				{":liberia:","🇱🇷"},
				{":lesotho:","🇱🇸"},
				{":lithuania:","🇱🇹"},
				{":luxembourg:","🇱🇺"},
				{":latvia:","🇱🇻"},
				{":libya:","🇱🇾"},
				{":morocco:","🇲🇦"},
				{":monaco:","🇲🇨"},
				{":moldova:","🇲🇩"},
				{":montenegro:","🇲🇪"},
				{":st_martin:","🇲🇫"},
				{":madagascar:","🇲🇬"},
				{":marshall_islands:","🇲🇭"},
				{":macedonia:","🇲🇰"},
				{":mali:","🇲🇱"},
				{":myanmar:","🇲🇲"},
				{":mongolia:","🇲🇳"},
				{":macau:","🇲🇴"},
				{":northern_mariana_islands:","🇲🇵"},
				{":martinique:","🇲🇶"},
				{":mauritania:","🇲🇷"},
				{":montserrat:","🇲🇸"},
				{":malta:","🇲🇹"},
				{":mauritius:","🇲🇺"},
				{":maldives:","🇲🇻"},
				{":malawi:","🇲🇼"},
				{":mexico:","🇲🇽"},
				{":malaysia:","🇲🇾"},
				{":mozambique:","🇲🇿"},
				{":namibia:","🇳🇦"},
				{":new_caledonia:","🇳🇨"},
				{":niger:","🇳🇪"},
				{":norfolk_island:","🇳🇫"},
				{":nigeria:","🇳🇬"},
				{":nicaragua:","🇳🇮"},
				{":netherlands:","🇳🇱"},
				{":norway:","🇳🇴"},
				{":nepal:","🇳🇵"},
				{":nauru:","🇳🇷"},
				{":niue:","🇳🇺"},
				{":new_zealand:","🇳🇿"},
				{":oman:","🇴🇲"},
				{":panama:","🇵🇦"},
				{":peru:","🇵🇪"},
				{":french_polynesia:","🇵🇫"},
				{":papua_new_guinea:","🇵🇬"},
				{":philippines:","🇵🇭"},
				{":pakistan:","🇵🇰"},
				{":poland:","🇵🇱"},
				{":st_pierre_miquelon:","🇵🇲"},
				{":pitcairn_islands:","🇵🇳"},
				{":puerto_rico:","🇵🇷"},
				{":palestinian_territories:","🇵🇸"},
				{":portugal:","🇵🇹"},
				{":palau:","🇵🇼"},
				{":paraguay:","🇵🇾"},
				{":qatar:","🇶🇦"},
				{":reunion:","🇷🇪"},
				{":romania:","🇷🇴"},
				{":serbia:","🇷🇸"},
				{":rwanda:","🇷🇼"},
				{":saudi_arabia:","🇸🇦"},
				{":solomon_islands:","🇸🇧"},
				{":seychelles:","🇸🇨"},
				{":sudan:","🇸🇩"},
				{":sweden:","🇸🇪"},
				{":singapore:","🇸🇬"},
				{":st_helena:","🇸🇭"},
				{":slovenia:","🇸🇮"},
				{":svalbard_jan_mayen:","🇸🇯"},
				{":slovakia:","🇸🇰"},
				{":sierra_leone:","🇸🇱"},
				{":san_marino:","🇸🇲"},
				{":senegal:","🇸🇳"},
				{":somalia:","🇸🇴"},
				{":suriname:","🇸🇷"},
				{":south_sudan:","🇸🇸"},
				{":sao_tome_principe:","🇸🇹"},
				{":el_salvador:","🇸🇻"},
				{":sint_maarten:","🇸🇽"},
				{":syria:","🇸🇾"},
				{":swaziland:","🇸🇿"},
				{":tristan_da_cunha:","🇹🇦"},
				{":turks_caicos_islands:","🇹🇨"},
				{":chad:","🇹🇩"},
				{":french_southern_territories:","🇹🇫"},
				{":togo:","🇹🇬"},
				{":thailand:","🇹🇭"},
				{":tajikistan:","🇹🇯"},
				{":tokelau:","🇹🇰"},
				{":timor_leste:","🇹🇱"},
				{":turkmenistan:","🇹🇲"},
				{":tunisia:","🇹🇳"},
				{":tonga:","🇹🇴"},
				{":tr:","🇹🇷"},
				{":trinidad_tobago:","🇹🇹"},
				{":tuvalu:","🇹🇻"},
				{":taiwan:","🇹🇼"},
				{":tanzania:","🇹🇿"},
				{":ukraine:","🇺🇦"},
				{":uganda:","🇺🇬"},
				{":us_outlying_islands:","🇺🇲"},
				{":united_nations:","🇺🇳"},
				{":uruguay:","🇺🇾"},
				{":uzbekistan:","🇺🇿"},
				{":vatican_city:","🇻🇦"},
				{":st_vincent_grenadines:","🇻🇨"},
				{":venezuela:","🇻🇪"},
				{":british_virgin_islands:","🇻🇬"},
				{":us_virgin_islands:","🇻🇮"},
				{":vietnam:","🇻🇳"},
				{":vanuatu:","🇻🇺"},
				{":wallis_futuna:","🇼🇫"},
				{":samoa:","🇼🇸"},
				{":kosovo:","🇽🇰"},
				{":yemen:","🇾🇪"},
				{":mayotte:","🇾🇹"},
				{":south_africa:","🇿🇦"},
				{":zambia:","🇿🇲"},
				{":zimbabwe:","🇿🇼"}
			};

		public static Dictionary<string, string> DefaultSmileyToEmojiShortcode = new Dictionary<string, string>(100)
			{
				{">:(", ":angry:"},
				{">:-(", ":angry:"},
				{":\")", ":blush:"},
				{":-\")", ":blush:"},
				{"</3", ":broken_heart:"},
				{"<\\3", ":broken_heart:"},
				{":/", ":confused:"},
				{":-/", ":confused:"},
				{":'(", ":cry:"},
				{":'-(", ":cry:"},
				{":,(", ":cry:"},
				{":,-(", ":cry:"},
				{":(", ":frowning:"},
				{":-(", ":frowning:"},
				{"<3", ":heart:"},
				{"]:(", ":imp:"},
				{"]:-(", ":imp:"},
				{"o:)", ":innocent:"},
				{"O:)", ":innocent:"},
				{"o:-)", ":innocent:"},
				{"O:-)", ":innocent:"},
				{"0:)", ":innocent:"},
				{"0:-)", ":innocent:"},
				{":')", ":joy:"},
				{":'-)", ":joy:"},
				{":,)", ":joy:"},
				{":,-)", ":joy:"},
				{":'D", ":joy:"},
				{":'-D", ":joy:"},
				{":,D", ":joy:"},
				{":,-D", ":joy:"},
				{":*", ":kissing:"},
				{":-* ", ":kissing:"},
				{"x-)", ":laughing:"},
				{"X-) ", ":laughing:"},
				{":|", ":neutral_face:"},
				{":-| ", ":neutral_face:"},
				{":o", ":open_mouth:"},
				{":-o", ":open_mouth:"},
				{":O", ":open_mouth:"},
				{":-O", ":open_mouth:"},
				{":@", ":rage:"},
				{":-@", ":rage:"},
				{":D", ":smile:"},
				{":-D", ":smile:"},
				{":)", ":smiley:"},
				{":-)", ":smiley:"},
				{"]:)", ":smiling_imp:"},
				{"]:-)", ":smiling_imp:"},
				{":,'(", ":sob:"},
				{":,'-(", ":sob:"},
				{";(", ":sob:"},
				{";-(", ":sob:"},
				{":P", ":stuck_out_tongue:"},
				{":-P", ":stuck_out_tongue:"},
				{"8-)", ":sunglasses:"},
				{"B-)", ":sunglasses:"},
				{":s", ":unamused:"},
				{":-S", ":unamused:"},
				{":z", ":unamused:"},
				{":-Z", ":unamused:"},
				{":$", ":unamused:"},
				{":-$", ":unamused:"},
				{";)", ":wink:"},
				{";-)", ":wink:"},

				// Custom arrows
				{"<-", ":custom_arrow_left:" },
				{"->", ":custom_arrow_right:" },
				{"<->", ":custom_arrow_left_right:" },

				{"<=", ":custom_arrow_left_strong:" },
				{"=>", ":custom_arrow_right_strong:" },
				{"<=>", ":custom_arrow_left_right_strong:" },
			};

		public static string GetUnicode(string shortCode)
		{
			DefaultShortCodeToUnicode.TryGetValue(shortCode, out string value);

			return value;
		}
	}
}
